package com.my_musc_service.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.my_musc_service.entity.SharedComment;
import com.my_musc_service.entity.SharedCommentData;
import com.my_musc_service.entity.SharedCommentVO;

import java.util.List;

/**
 * (SharedComment)表服务接口
 *
 * @author A.Dun
 * @since 2021-08-17 14:13:47
 */
public interface SharedCommentService extends IService<SharedComment> {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    SharedComment queryById(Integer id);

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit  查询条数
     * @return 对象列表
     */
    List<SharedComment> queryAllByLimit(int offset, int limit);

    /**
     * 新增数据
     *
     * @param sharedComment 实例对象
     * @return 实例对象
     */
    Boolean insert(SharedComment sharedComment);

    /**
     * 修改数据
     *
     * @param sharedComment 实例对象
     * @return 实例对象
     */
    SharedComment update(SharedComment sharedComment);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Integer id);

//    List<SharedCommentVO> getSharedCommentVOByCommentId(Integer id, Integer sharedSongListId, Integer sharedSongId);

    List<SharedCommentVO> getSharedCommentVOByCommentData(SharedCommentData sharedCommentData);

    Boolean addClickCount(SharedComment sharedComment);

    public Boolean delClickCount(SharedComment sharedComment);

    List<SharedCommentVO> getHotCommentsBySharedCommentData(SharedCommentData sharedCommentData);
}
